Serial data communication devices are capable of transmitting and receiving data between various destinations at multiple data rates or baudrates. For example, modems normally operate at baudrates of 2400, 4800, 9600 and higher. Since communication devices can operate at any one of these various baudrates, there must be a method for selecting the baudrate that is being utilized by the destination device. This synchronization is required for the proper transfer of the data from one device to another. In some devices, the required baudrate is selectable by the user. A drawback of this method is that the user has to know the baudrate being used by the connecting device.
Autobauding is an alternative method for automatically determining and setting the correct baudrate at the serial data communication device. Some early devices employed circuitry which recognized the zero slope points of the received analog waveform and varied the transmission rates based on the presence or absence of information. However, these devices were not accurate. Most autobauding techniques measure the duration or width of a start bit. This method requires that the data stream be initially sampled at the highest possible bit rate. Then, by counting the number of zero bits read, the data rate is determined. A disadvantage of prior art methods using variants of this technique is that the character used for detection is lost. Moreover, prior art software-based methods are difficult to implement at speeds greater than 19.2 kbits per second.
Other prior art methods compare the incoming received data bits to a reference character by stepping through the different baudrates until no errors are present. However, these schemes also appear to lose some of the initial bits while trying to ascertain the baudrate. Some prior art devices utilize alternative hardware configurations to detect and determine the correct baudrate. However, the cost of additional hardware is expensive when dealing with thousands of modems.
Accordingly, there is a need to provide a simple and effective device and method which does not require additional hardware and can autobaud without loss of data bits.